package com.ctms.system.dao;

import com.ctms.system.domain.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface CourseScoreMapper {

    List<CourseScoreDO> selectAllCourseScore(Map<String,Object> map);
    int count(Map<String,Object> map);

    //选课时往课程成绩表插入
    int insertCourseScore(CourseScoreDO courseScoreDO);

    //计算作业成绩
    //1、通过课程名去任务表查出这门课的所有任务tid
    List<TaskReleaseDO> selectAllTaskRelease(String taskCourse);
    //2、通过tid和登录人的userId去成绩表查询这门课目前的所有得分
    CorrectsTaskDO selectScoreByTidUserId(@Param("tid")Integer tid, @Param("userId")Integer userId);


    //计算成绩的时候将成绩更新成绩表course_score
    int updateCourseScore(CourseScoreDO courseScoreDO);


    //查询所有学生的成绩
    List<UserDO> selectAllStuScore(Map<String,Object> map);
    int countAllScore(Map<String,Object> map);
    //查询登录教师的课程
    List<CourseDO> selectCourseByTea(Integer loginId);
    //管理员导出学生成绩
    //1、按班级导出
    List<UserDO> exportScoreByClass(String condition);
    //2、按课程导出
    List<UserDO> exportScoreByCourse(String condition);
    //3、按学号姓名时全导出
    List<UserDO> exportScore();

}
